package crmsystem.com.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import crmsystem.com.group.AddGroup;
import crmsystem.com.group.UpdateGroup;
import lombok.Data;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

/**
 * 
 * 
 * @author zhugaowei
 * @email 1912431877@qq.com
 * @date 2021-01-07 12:48:11
 */
@Data
@TableName("contract")
public class ContractEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@NotNull(message = "id不能为空" /*message = "修改必须指定品牌id"*/, groups = {UpdateGroup.class,AddGroup.class})
//	@Null(message = "新增不能指定品牌id", groups = {AddGroup.class})
	@TableId
	private Integer id;
	/**
	 * 合同名称

	 */
	@NotEmpty(message = "合同名称不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String namecontract;
	/**
	 * 机构名称
	 */
	@NotEmpty(message = "机构名称不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String oameorganization;
	/**
	 * 合同类型
	 */
	@NotEmpty(message = "合同类型不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String typecontract;
	/**
	 * 合同总金额
	 */
	@NotEmpty(message = "合同总金额不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String amount;
	/**
	 * 经办人
	 */
	@NotEmpty(message = "经办人不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String gestores;
	/**
	 * 审核状态
	 */
	@NotEmpty(message = "审核状态不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String status;
	/**
	 * 签约日期
	 */
	@NotEmpty(message = "签约日期不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String datesigning;
	/**
	 * 到期日期
	 */
	@NotEmpty(message = "到期日期不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String expirydate;
	/**
	 * 购买产品类别
	 */
	@NotEmpty(message = "购买产品类别不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String producttype;
	/**
	 * 服务方式
	 */
	@NotEmpty(message = "服务方式不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String serviceway;
	/**
	 * 资源范围
	 */
	@NotEmpty(message = "资源范围不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String sourcerange;
	/**
	 * 合同性质
	 */
	@NotEmpty(message = "合同性质不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String contractnature;
	/**
	 * 合同联系人
	 */
	@NotEmpty(message = "合同联系人不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String contractcon;
	/**
	 * 付款方式
	 */
	@NotEmpty(message = "付款方式不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String paystyle;
	/**
	 * 负责代理
	 */
	@NotEmpty(message = "负责代理不能为空",groups = {UpdateGroup.class,AddGroup.class})
	private String agent;
	/**
	 * 博看签字人
	 */
	@NotEmpty(message = "博看签字人",groups = {UpdateGroup.class,AddGroup.class})
	private String singer;
	/**
	 * 博看盖章签字
	 */
	@NotEmpty(message = "博看盖章签字",groups = {UpdateGroup.class,AddGroup.class})
	private String sign;
	/**
	 * 机构签字人
	 */
	@NotEmpty(message = "机构签字人",groups = {UpdateGroup.class,AddGroup.class})
	private String mechanismpeople;
	/**
	 * 机构盖章签字
	 */
	@NotEmpty(message = "机构盖章签字不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String seal;
	/**
	 * 备注
	 */
	@NotEmpty(message = "备注不为空",groups = {UpdateGroup.class,AddGroup.class})
	private String remarks;
	/**
	 * 合同扫描件
	 */
	@NotEmpty(message = "合同扫描件地址不为空", groups = {AddGroup.class})
	@URL(message = "合同扫描件地址必须是一个合法的url地址", groups = {UpdateGroup.class, AddGroup.class})
	private String scanfile;
	/**
	 * 审核状态
	 */
	@NotNull(message = "审核状态", groups = {UpdateGroup.class, AddGroup.class})
	private Integer examine;
	/**
	 * 合同到期提醒
	 */
	@NotNull(message = "合同到期提醒不为空", groups = {UpdateGroup.class, AddGroup.class})
	private Integer expirationreminder;

}
